import Others.Edge;
import minamal_DFA.DFA;
import minamal_DFA.SimplifyDFA;

public class test {
    public static void main(String[] args) throws InterruptedException{
        DFA dfa=new DFA();
        char State[]=new char[5];
        State[0]='A';
        State[1]='B';
        State[2]='C';
        State[3]='D';
        State[4]='E';
        dfa.setState(State);

        char E[]=new char[2];
        E[0]='a';
        E[1]='b';
        dfa.setE(E);

        Edge move[]=new Edge[10];
        for (int i=0;i<10;i++){
            move[i]=new Edge();
        }
        move[0].setCh('a');
        move[0].setFirstSpot('A');
        move[0].setRearSpot('B');
        move[1].setCh('a');
        move[1].setFirstSpot('B');
        move[1].setRearSpot('B');
        move[2].setCh('b');
        move[2].setFirstSpot('A');
        move[2].setRearSpot('C');
        move[3].setCh('b');
        move[3].setFirstSpot('C');
        move[3].setRearSpot('C');
        move[4].setCh('a');
        move[4].setFirstSpot('C');
        move[4].setRearSpot('B');
        move[5].setCh('b');
        move[5].setFirstSpot('B');
        move[5].setRearSpot('D');
        move[6].setCh('a');
        move[6].setFirstSpot('D');
        move[6].setRearSpot('B');
        move[7].setCh('b');
        move[7].setFirstSpot('D');
        move[7].setRearSpot('E');
        move[8].setCh('a');
        move[8].setFirstSpot('E');
        move[8].setRearSpot('B');
        move[9].setCh('b');
        move[9].setFirstSpot('E');
        move[9].setRearSpot('C');

        dfa.setMove(move);

        dfa.setS0('A');

        char F[]=new char[1];
        F[0]='E';
        dfa.setF(F);

        dfa.setFirst('A');
        dfa.setRear('E');

        SimplifyDFA simplifyDFA=new SimplifyDFA(dfa);
    }
}
